// ----------------------------------
// RSDK Project: Sonic Essence
// Script Description: Credits Menu
// Script Author: Tails_LP, Xanman
// ----------------------------------

//-------Aliases-------//

private alias object.value0 : menu.xpos
private alias object.value1 : menu.selection
private alias object.value2 : start.fadeValue
private alias object.value3 : menu.direction
private alias object.value4 : creditsoffset
private alias object.value5 : timer
private alias object.value6 : arrowoffset



private alias 0 : INACTIVE
private alias 1 : SCROLL_IN
private alias 2 : FEEDBACK_IDLE
private alias 3 : SCROLL_OUT


//-------Tables-------//


//-------Functions-------//

event ObjectMain
	object.inkEffect = INK_ALPHA
	switch object.state
	case INACTIVE
		menu.xpos = 8
		break
	case SCROLL_IN
		object.alpha = 255
		if menu.xpos > -206
			menu.xpos -= 12
		else
			menu.xpos = -206
			object.state = FEEDBACK_IDLE
			temp4 = 0
		endif
		break
	case FEEDBACK_IDLE
		temp6 = 0

			
		if inputPress.buttonA == 1
			temp6 = 1
		end if		
		if inputPress.buttonB == 1
			temp6 = 1
		end if
		if inputPress.buttonC == 1
			temp6 = 1
		end if
		if inputPress.buttonX == 1
			temp6 = 1
		end if
		if inputPress.buttonY == 1
			temp6 = 1
		end if
		if inputPress.buttonZ == 1
			temp6 = 1
		end if
		if inputPress.Start == 1
			temp6 = 1
		end if

		if temp6 == 1
			PlaySfx(SfxName[Menu Back], 0)
			object.state = SCROLL_OUT
		endif

		break

	case SCROLL_OUT
		if menu.xpos < 8
			menu.xpos += 12
		else
			creditsoffset = 0
			menu.xpos = 8
			object.state = INACTIVE
			foreach (TypeName[Main Menu], arrayPos0, ALL_ENTITIES)
				object[arrayPos0].state = 1
			next
		endif
		break
	endswitch
end event

event ObjectDraw
	arrowoffset++
	temp0 = screen.xsize
	temp0 += menu.xpos
	DrawRect(temp0, 0, screen.xsize, screen.ysize, 0, 0, 0, 255)

	temp0 -= 4
	temp1-= arrowoffset
	while temp1 < screen.ysize
		DrawSpriteScreenXY(0, temp0, temp1)
		temp1 += 64
		DrawSpriteScreenXY(0, temp0, temp1)
		temp1 += 64
	loop

		temp0 = screen.xsize
		temp0 += menu.xpos
		temp0 += 45
		temp1 = 60
		DrawSpriteScreenFX(2, FX_INK, temp0, temp1)
		temp1 += 20
		DrawSpriteScreenFX(1, FX_INK, temp0, temp1)
		temp1 += 90
		DrawSpriteScreenFX(3, FX_INK, temp0, temp1)
end event

event ObjectStartup
	object[14].type = TypeName[Feedback Prompt]
    	LoadSpriteSheet("Title/Title2.gif")
	SpriteFrame(-4, 0, 8, 128, 219, 1)		//00 Black Banner

	SpriteFrame(20, -3, 81, 79, 189, 750)	//01 QR Code
	SpriteFrame(0, -3, 119, 7, 312, 750)	//02 Scan this
	SpriteFrame(-42, -3, 198, 23, 272, 767)	//03 Go Here
	
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 223, 172)
end event